feat: add /settings page for recovery flows#458
Merged
ben-fornefeld merged 5 commits intoJun 24, 2026
Conversation
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
ben-fornefeld
approved these changes
Jun 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix password recovery flow (EN-1116)
Problem
The account/password recovery flow was broken end-to-end. After clicking a
recovery email link, Kratos drops the user into a settings flow to set a new
password — but the dashboard had nowhere to handle it:
settings_ui_urlpointed at/dashboard/account, which is gated behind ane2b_session(Hydra token) that doesn't exist yet during recovery — so theuser couldn't actually reach the password form.
but the user already holds a Kratos session there, so Kratos bounced them with
"already logged in" instead of starting recovery.
Changes
New shell-less
/settingspage (layout.tsx,page.tsx,settings-cards.tsx)session/identity via
getSettingsFlow+getUserProfile, note2b_session),so the post-recovery reset works before any Hydra token exists.
<Settings>default body is unstyled without the Ory theme stylesheet, which we never load).
Name/e-mail are shown read-only for reference; profile editing stays on the
gated
/dashboard/account.continue_withreload) and routes the user to sign in with the new password.